Jump to content

Visual Assist

From Wikipedia, the free encyclopedia
Visual Assist
Developer(s)Whole Tomato Software
Stable release
2022.6 (build 10.9.2476) / January 19, 2023; 21 months ago (2023-01-19)
Operating systemMicrosoft Windows
TypeMicrosoft Visual Studio add-on for VC++ 6.0, .NET 2003, 2005, 2008, 2010, 2012, 2013, 2015, 2017, 2019, 2022
LicenseCommercial, $129–279
Websitewww.wholetomato.com

Visual Assist is a plug-in for Microsoft Visual Studio developed by Whole Tomato Software. The plug-in primarily enhances IntelliSense and syntax highlighting, along with navigating through source code and providing flexible refactorings. It also enhances code suggestions, can generate or rewrite code, and includes spell checking support for comments, as well as adding enhanced debugging tools.[1] It can also detect syntax mistakes such as use of undeclared variables, and provides code analysis to detect potential bugs or performance issues in source code.[2]

Visual Assist supports Visual C++ and Visual C#.

As of March 2023, Visual Assist supports Visual C++ 2022 right back to Visual Studio 2005, including the Community Editions. Support for Visual Studio 6.0 - 2003 was deprecated in 2017, though the latest version to support those older IDEs is still available for download. (Visual Studio Express editions lack third-party extensibility and Visual Studio Code uses a separate extensibility model, thus Visual Assist cannot be used with them.)

Game Industry

[edit]

Visual Assist is used by C++ development teams worldwide, but is especially popular in the game development industry. Many Unreal Engine developers list installing Visual Assist as a key requirement before beginning development with Unreal.[3][4][5]

Youtuber TheCherno states they've used Visual Assist for 90% of the C++ development they've ever done, and refers to the combination of Unreal Engine and Visual Assist as "a match made in heaven."[6]

The Unreal Engine Community wiki notes, "Many programmers simply prefer to disable [Visual Studio's inbuilt] Intellisense and use Visual Assist that has included support for Unreal Engine".[7]

Technology

[edit]

Visual Assist has a custom language parser, which is not a compiler-style parser. Compiler-style parsers require well-formed code (badly formed code causes a compile error!) and will follow compiler directives, such as macros that can direct the compiler to include or exclude certain code. It's common for code tooling tools to use either compiler engines or compiler-style parsers, but Visual Assist's approach is more flexible and means the tool is more useful in real-world coding environments. When coding, a developer may have incompletely written code, but an assistance tool needs to still function correctly, as Visual Assist does. Similarly, Visual Assist is aware of macros, but can "see" inside macros that a compiler will exclude: this means it can refactor fully, rather than missing references that other tools would not see.

Visual Assist is tightly integrated into Visual Studio, which uses a different extensibility model to Visual Studio Code.

Until Visual Studio 2022, Visual Studio was a 32-bit application, constraining memory to a maximum of 4GB. It is common for developers to have multiple plugins loaded into Visual Studio, and the Visual Assist developers spent considerable effort on ensuring the memory impact of using Visual Assist was very low,[8] even parsing very large projects. Both this and the custom parser also result in high performance parsing or indexing code compared to other tools.

See also

[edit]
[edit]
  1. ^ "Features in Visual Assist". Retrieved 20 March 2023.
  2. ^ "A Brief Introduction To Clang-Tidy And Its Role in Visual Assist". Retrieved 20 March 2023.
  3. ^ "Ari Arnbjörnsson (Housemarque): Lessons Learned from a Year of UE4 AAA Development". Retrieved 20 March 2023.
  4. ^ "Visual Studio Tips for UE4". Retrieved 20 March 2023.
  5. ^ "Top 5 Reasons Why I Use Visual Assist for Unreal Engine 5". Retrieved 20 March 2023.
  6. ^ "Unreal Engine + Visual Assist". Retrieved 20 March 2023.
  7. ^ "Choosing & Preparing Integrated Development Environment for Unreal C++". Retrieved 20 March 2023.
  8. ^ "Technical Deep Dive: Reducing Memory Consumption in Visual Assist build 2393". Retrieved 20 March 2023.